iT邦幫忙

2021 iThome 鐵人賽

DAY 22
1
Software Development

你還在用手動測試嗎?30 天帶你學會前端自動化測試框架 - Cypress系列 第 22

自動化測試,讓你上班擁有一杯咖啡的時間 | Day 22 - 與 JS-alert, confirm, prompt 如何互動

  • 分享至 

  • xImage
  •  

此系列文章會同步發文到個人部落格,有興趣的讀者可以前往觀看喔。

今天要跟大家分享當網站有用到Javascript Alert, Javascript Confirm, Javascript prompt時,要如何測試。

  1. Javascript Alert: 警告用,會有一些文字和確認按鈕
    https://ithelp.ithome.com.tw/upload/images/20211006/20140883HWNVuoK4xb.png

  2. Javascript Confirm: 確認用,會有一些文字和確認/取消按鈕
    https://ithelp.ithome.com.tw/upload/images/20211006/20140883c4G20PPVSe.png

  3. Javascript prompt: 輸入文字用,會有一個輸入框和確認/取消按鈕
    https://ithelp.ithome.com.tw/upload/images/20211006/201408830jBdZzpONG.png

  4. 動手寫程式

    describe('JavaScript Alerts, Confirm, Prompt in Cypress', () => {
    
        beforeEach(() => {
            cy.visit('https://www.seleniumeasy.com/test/javascript-alert-box-demo.html')
        })
    
        it('JS Alert - 點選OK', () => {
            cy.get('.row > .col-md-6 > .panel:nth-child(4) > .panel-body > .btn').click() //點選按鈕
            cy.on('window:alert', (str) => {
                expect(str).to.equal('I am an alert box!')
            }) //確認彈跳視窗的文字
            cy.on('window:confirm', () => true); //彈跳視窗點選確定
        })
    
        it('JS Confirm - 點選確定', () => {
            cy.get('.row > .col-md-6 > .panel:nth-child(5) > .panel-body > .btn').click() //點選按鈕
            cy.on('window:confirm', (str) => {
                expect(str).to.equal(`Press a button!`) //確認彈跳視窗的文字
            })
            cy.on('window:confirm', () => true); //彈跳視窗點選確定
            cy.get('#confirm-demo').contains('You pressed OK!') //應該要有You pressed OK!
        })
    
        it('JS Confirm - 點選取消', () => {
            cy.get('.row > .col-md-6 > .panel:nth-child(5) > .panel-body > .btn').click() //點選按鈕
            cy.on('window:confirm', () => false); //彈跳視窗點選取消
            cy.get('#confirm-demo').contains('You pressed Cancel!') //應該要有You pressed Cancel!
        })
    })
    
  5. 結果
    https://ithelp.ithome.com.tw/upload/images/20211006/20140883KhUhiRS2UB.png

參考資料


上一篇
自動化測試,讓你上班擁有一杯咖啡的時間 | Day 21 - drag and drop 的用法
下一篇
自動化測試,讓你上班擁有一杯咖啡的時間 | Day 23 - 避免使用 cy.wait
系列文
你還在用手動測試嗎?30 天帶你學會前端自動化測試框架 - Cypress30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言